1. Field of the Invention
This invention relates generally to online stores, and, more particularly, to managing natural language modules offered through a natural language module store.
2. Related Art
When developing software applications, a software developer typically relies on code developed by others. Specifically, in the field of natural language processing, software applications use particular programming code to interpret and respond to complex linguistic inputs, such as user queries or other expressions in a natural language (whether specified as text or as speech). Implementing such interpretation code in a usable, accurate, and efficient manner is typically highly complex and requires a sophisticated understanding of Natural Language Processing (NLP) and learning the specifics of a development environment—things that are often beyond the skills of a typical application developer. For example, a developer of a natural language interface to a shopping application, a music player, or a calendaring application may not have any prior knowledge or experience in developing natural language processing code.
Hence, instead of developing interpretation code themselves, application software developers can utilize existing natural language interpretation code created by other developers skilled in the area of natural language interpretation. As such, a software developer can access a repository of natural language interpretation code. The software developer can search the repository to identify appropriate natural language interpretation code for inclusion in an application. When added to an application, the application software developers can then access the output of parsing and interpreting queries by the natural language interpretation code.
During execution, an interpretation engine can use the natural language interpretation code to parse natural language input to the application. For example, the interpretation engine can use the natural language interpretation code to perform a specified interpretation task, such as to interpret a user's natural language expression of a desired period of time (e.g., “schedule a meeting for next Saturday afternoon”), of desired products to locate (e.g., “I want a black jacket, size 5”), or the like.
To identify relevant natural language interpretation code, a developer can search and examine the code repository for an existing code block that is designed to interpret expressions of the desired type. The developer can enter search terms using either text or speech to facilitate a search. The developer can select identified natural language interpretation code from among search results for inclusion in an application.
A developer of natural language interpretation code may desire compensation for use of their natural language interpretation code. However, there is typically no standard mechanism to indicate a compensation structure for natural language interpretation code. Thus, it may be difficult to relay compensation terms to a software developer and/or to efficiently implement financial transactions to facilitate payment in accordance with compensation terms. Further, a software developer may have limited, if any, mechanisms to determine cost for using of natural language interpretation code or how to pay for use of the natural language interpretation code.